package com.designpattern.singleton;

/**
 * 单例模式：
 * 使用了synchronized进行同步处理。这种写法与第四种写法相比：降低了锁的范围。
 * 但依然会有线程不安全的问题，不能做到只有一个实例（多线程）。
 */
public class Main05 {
    private static Main05 INSTANCE;

    private Main05() {

    }

    //
    public static Main05 getInstance() {
        if (INSTANCE == null) {
            synchronized (Main05.class) {
                //            try {
//                Thread.sleep(1000);
//            } catch (InterruptedException e) {
//                e.printStackTrace();
//            }
                INSTANCE = new Main05();
            }
        }
        return INSTANCE;
    }
}
